$(function(){
	
	//初始化模块信息
	/* 此处需要改成你的逻辑 */
	var moduleName='teacher';
	/* 此处需要改成你的逻辑 */
	
	var service=getServiceName(moduleName);
	
	const vue=new Vue({
		
		//绑定的元素 [增加的模态框所在的div]
		el:'#tableDiv',
		//绑定数据
		data:{
			/*============新增的模态框的变量开始=============*/
			
			/* 此处需要改成你的逻辑 */
			teacherId:'',
			// 角色名称
			teacherName:'',
			// 角色编码
			teacherSalary:0,
			hireDate:'',
			phone:'',
			clazzName:'',
			/* 此处需要改成你的逻辑 */
			
			/*============新增的模态框的变量结束=============*/
			
			/*============分页的变量开始=============*/
			beans:[],
			// pageNumber 第几页
			pageNumber:1,
			
			// pageSize   1页多少条
			pageSize:5,
			
			// totalPage 共多少页
			totalPage:0,
			
			// totalCounter 一共多少条记录
			totalCounter:0,
			/*============分页的变量结束=============*/
			
			
			//增加或删除标记
			add:false,
			update:false,
		},
		methods:{
			//1.1、打开增加模态框
			openAddModal:function(){
				console.log("============open-add-modal=============");
				//1.1.1、清除历史数据
				
				/* 此处需要改成你的逻辑 */
				this.teacherId='';
				this.teacherName='';
				this.phone='';
				// this.clazzName='';
				/* 此处需要改成你的逻辑 */
				
				this.add=true;
				this.update=false;
				//1.1.2、打开模态框
				$('#add-modal').modal({
					backdrop:"static",
				});
				
			},
			//1.2、发送add请求
			addCall:function(){
				console.log("============call add method=============");
				//1.2.1、封装数据
				let url=getRootPath()+service.add;
				let data={
					/* 此处需要改成你的逻辑 */
					'teacherId':this.teacherId,
				    'teacherName':this.teacherName,
				    'phone':this.phone,
					// 'clazzName':this.clazzName,
					/* 此处需要改成你的逻辑 */
					
					'token':getChildToken(),
				};
				
				//1.2.2、编写回调函数
				let callback=function(dataR){
					console.log(dataR);
					
					//1.2.2.1、关闭模态框
					$('#add-modal').modal('hide');
					
					this.add=false;
					this.update=false;
					
					//1.2.2.2、请求分页列表
					vue.page(1,vue.pageSize);
				}
				
				//1.2.3、使用vue发送post请求
				axios.post(url,data).then(callback);
				
			},
			
			//1.3 请求分页列表
			page:function(pageNumber,pageSize){
				
				console.log("============enter vue.page("+vue.pageNumber+","+vue.pageSize+")=============");
				
				//1、封装数据
				let url=getRootPath()+service.list+'?pageNumber='+pageNumber+'&pageSize='+pageSize;
				console.log("url="+url)
				
				//2、编写回调函数
				let callback=function(dataR){
					console.log(dataR);
					var code =dataR.data.code;
					
					var data=dataR.data.data;
					
					/* 此处需要改成你的逻辑 */
					var teacherList=data.teacherList;
					/* 此处需要改成你的逻辑 */
					
					var pageNumber=data.pageNumber;
					var totalCounter=data.totalCounter;
					var totalPage=data.totalPage;
					
					//给vue对象赋值用于显示页面
					vue.beans=teacherList;
					vue.pageNumber=pageNumber;
					vue.totalCounter=totalCounter;
					vue.totalPage=totalPage;
					
				}
				
				//3、使用vue发送get请求
				axios.get(url).then(callback);
			},
			
			//1.4 打开修改模态框
			openUpdateModel:function(index){
				
				this.add=false;
				this.update=true;
				console.log("index="+index);
				
				var teacher = this.beans[index];
				console.log(teacher);
				
				/* 此处需要改成你的逻辑 */
				var teacherId =teacher.teacherId;
				var name=teacher.name;
				var phone=teacher.phone;
				var teacherSalary=teacher.teacherSalary;
				var hireDate=teacher.hireDate;
				// var clazzName=teacher.clazzName;
				
				//1.1：填充表格
				this.teacherId=teacher.teacherId;
				this.name=name;
				this.phone=phone;
				this.teacherSalary=teacherSalary;
				this.hireDate=hireDate;
				// this.clazzName=clazzName;
				/* 此处需要改成你的逻辑 */
				
				
				//1.2：打开模态框
				$('#add-modal').modal({
					backdrop:"static",
				});
			},
			//1.5、发送update请求
			updateCall:function(){
				console.log("============call update method=============");
				//1.2.1、封装数据
				let url=getRootPath()+service.update;
				let data={
					/* 此处需要改成你的逻辑 */
					'teacherId':this.teacherId,
				    'teacherSalary':this.teacherSalary,
				    'hireDate':this.hireDate,
					'name':this.name,
					'phone':this.phone,
					// 'clazzName':this.clazzName,
					/* 此处需要改成你的逻辑 */
					
					'token':getChildToken(),
				};
				
				//1.2.2、编写回调函数
				let callback=function(dataR){
					console.log(dataR);
					
					//1.2.2.1、关闭模态框
					$('#add-modal').modal('hide');
					
					this.add=false;
					this.update=false;
					
					//1.2.2.4、请求分页列表
					vue.page(1,vue.pageSize);
				}
				
				//1.2.3、使用vue发送post请求
				axios.post(url,data).then(callback);
				
				
			},
			
			//---------------------------------------------------------------------------------------
			
			
			UpdateModel:function(index){
				
				this.add=false;
				this.update=false;
				this.updateClazz=true;
				console.log("index="+index);
				
				var teacher = this.beans[index];
				console.log(teacher);
				
				/* 此处需要改成你的逻辑 */
				
				var clazzId=teacher.clazzId;
				var name=teacher.name;
				var teacherId=teacher.teacherId;
				// var clazzName=teacher.clazzName;
				
				//1.1：填充表格
				this.clazzId=clazzId;
				this.name=name;
				this.teacherId=teacherId;
				// this.clazzName=clazzName;
			// 	/* 此处需要改成你的逻辑 */
				
				
				//1.2：打开模态框
				$('#add-modal').modal({
					backdrop:"static",
				});
			},
			// 1.5、发送update请求
			update:function(){
				console.log("============call update method=============");
				//1.2.1、封装数据
				let url=getRootPath()+service.updateClazz;
				let data={
					/* 此处需要改成你的逻辑 */
					
				    'clazzId':this.clazzId,
					'name':this.name,
					'teacherId':this.teacherId,
					
					/* 此处需要改成你的逻辑 */
					
					'token':getChildToken(),
				};
				
				//1.2.2、编写回调函数
				let callback=function(dataR){
					console.log(dataR);
					
					//1.2.2.1、关闭模态框
					$('#add-modal').modal('hide');
					
					this.add=false;
					this.update=false;
					this.updateClazz=true;
					
					//1.2.2.4、请求分页列表
					vue.page(1,vue.pageSize);
				}
				
				//1.2.3、使用vue发送post请求
				axios.post(url,data).then(callback);
				
				
			},
			//1.6、发送delete请求
			deleteCall:function(){
				
				console.log("============call delete method=============");
				//1.2.1、封装数据
				let url=getRootPath()+service.delete;
				//1 找到选择的复选框
				var cks = $('input[type=checkbox][class="check-item"]:checked');
				console.log(cks.length);
				
				//2 拿到值 
				var ids=[];
				cks.each(function(){
					var id= parseInt($(this).val());
					ids.push(id);
				});
				console.log(ids);
				
				let data={
					ids:ids
				}
				
				//1.2.2、编写回调函数
				
				let callback=function(dataR){
					//把原来的选中状态清除
					$('.check-item').prop('checked',false);
					
					//1.2.4、刷新页面数据
					vue.page(1,vue.pageSize);
					
				};
				
				//1.2.3、使用vue发送post请求
				axios.post(url,data).then(callback);
				
				
			},
			//1.7、下1页
			nextPage:function(){
				if(vue.pageNumber<vue.totalPage){
					vue.pageNumber=vue.pageNumber+1;
					vue.page(vue.pageNumber,vue.pageSize);
				}
			},
			//1.8、最后1页
			lastPage:function(){
				if(vue.pageNumber<vue.totalPage){
					vue.page(vue.totalPage,vue.pageSize);
				}
			},
			//1.9、上1页
			prePage:function(){
				if(vue.pageNumber>=2){
					vue.pageNumber=vue.pageNumber-1;
					vue.page(vue.pageNumber,vue.pageSize);
				}
			},
			//1.10、首页
			firstPage:function(){
				vue.page(1,vue.pageSize);
			}
			
		}
	});
	
	//当首次进入页面的时候 
	vue.page(vue.pageNumber,vue.pageSize);
	
	//表格中的复选框
	$(document).on('click','.check-item',function(){
		var flag= $('.check-item:checked').length==$('.check-item').length;
		$('#selectAll').prop('checked',flag);
	});
	
	//全选功能开始
	$('#selectAll').click(function(){
		$('.check-item').prop('checked',$(this).prop('checked'));
	});
	
});
